package com.sghd.football.module.game.service.config.model;

import java.util.Map;

/**
 * \* Created with 王创辉.
 * \* Date: 2018/5/21
 * \* Time: 12:20
 * \* @desc:
 */
public class ConfigRoom {

    private Integer id;
    private String gameId;
    private String roomName;
    /** 房间id*/
    private Integer roomId;
    /**下注区域*/
    private Integer[] betArea;
    /**入场金币限制区间数组*/
    private Long[] limitMoney;
    /**(索引对应)普通元素个数对应倍数 key=元素枚举索引, vlaue=元数个数对应的奖励倍数*/
    private Map<Integer, Map<Integer, Integer>> count2Rate;
    /** 免费旋转次数*/
    private Integer freeCount;
    /**抽水比例*/
    private float rebate;
    /** 房间内每个桌子最大玩家人数*/
    private Integer deskPlayer = 1;
    /**奖池推送间隔*/
    private Integer pushInterval = 2000;
    /**棋盘行列*/
    private Integer[] rowCol;
    /**操作超*/
    private int timeout;
    /** 玩家上限*/
    private int playerLimit;
    /*** 小游戏奖池翻牌次数对应倍率*/
    private Float[] countRate;
    /** 普通旋转每个元素出现的概率权重数组JSON, 按{@link com.sghd.football.module.game.service.core.ChessType}索引来*/
    private Integer[] rates;
    /** 免费旋转每个元素出现的概率权重数组JSON, 按{@link com.sghd.football.module.game.service.core.ChessType}索引来*/
    private Integer[] ratesFree;

    /** 反分池判断值*/
    private Integer normalRandomSection;
    /** 倍数数控制*/
    private Integer normalBei;
    /** 受反分池控制概率*/
    private Float normalPeiRate;
    /** 奖励等级*/
    private Integer[] rewardRang;
    /** 抽水比例 + 反分池比例 + 奖池比例 = 1*/
    /** 抽水比例*/
    private Float drawWaters;
    /** 反分池比例*/
    private float refund;
    /** 奖池比例*/
    private float rewardRate;
    /** 反分也缓冲值<压注档位， [下限倍数，上限倍数]>*/
    private Map<Integer, int[]> refundCtrl;
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getGameId() {
        return gameId;
    }

    public void setGameId(String gameId) {
        this.gameId = gameId;
    }

    public String getRoomName() {
        return roomName;
    }

    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }

    public Integer[] getRates() {
        return rates;
    }

    public void setRates(Integer[] rates) {
        this.rates = rates;
    }

    public Integer[] getBetArea() {
        return betArea;
    }

    public void setBetArea(Integer[] betArea) {
        this.betArea = betArea;
    }

    public Long[] getLimitMoney() {
        return limitMoney;
    }

    public void setLimitMoney(Long[] limitMoney) {
        this.limitMoney = limitMoney;
    }

    public Map<Integer, Map<Integer, Integer>> getCount2Rate() {
        return count2Rate;
    }

    public void setCount2Rate(Map<Integer, Map<Integer, Integer>> count2Rate) {
        this.count2Rate = count2Rate;
    }

    public Integer getFreeCount() {
        return freeCount;
    }

    public void setFreeCount(Integer freeCount) {
        this.freeCount = freeCount;
    }

    public float getRebate() {
        return rebate;
    }

    public void setRebate(float rebate) {
        this.rebate = rebate;
    }

    public Integer getDeskPlayer() {
        return deskPlayer;
    }

    public void setDeskPlayer(Integer deskPlayer) {
        this.deskPlayer = deskPlayer;
    }

    public Integer getPushInterval() {
        return pushInterval;
    }

    public void setPushInterval(Integer pushInterval) {
        this.pushInterval = pushInterval;
    }

    public Integer[] getRowCol() {
        return rowCol;
    }

    public void setRowCol(Integer[] rowCol) {
        this.rowCol = rowCol;
    }

    public int getTimeout() {
        return timeout;
    }

    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }

    public int getPlayerLimit() {
        return playerLimit;
    }

    public void setPlayerLimit(int playerLimit) {
        this.playerLimit = playerLimit;
    }

    public float getRefund() {
        return refund;
    }

    public void setRefund(float refund) {
        this.refund = refund;
    }

    public float getRewardRate() {
        return rewardRate;
    }

    public void setRewardRate(float rewardRate) {
        this.rewardRate = rewardRate;
    }

    public Float[] getCountRate() {
        return countRate;
    }

    public void setCountRate(Float[] countRate) {
        this.countRate = countRate;
    }

    public Integer[] getRatesFree() {
        return ratesFree;
    }

    public void setRatesFree(Integer[] ratesFree) {
        this.ratesFree = ratesFree;
    }

    public Integer getNormalRandomSection() {
        return normalRandomSection;
    }

    public void setNormalRandomSection(Integer normalRandomSection) {
        this.normalRandomSection = normalRandomSection;
    }

    public Integer getNormalBei() {
        return normalBei;
    }

    public void setNormalBei(Integer normalBei) {
        this.normalBei = normalBei;
    }

    public Float getNormalPeiRate() {
        return normalPeiRate;
    }

    public void setNormalPeiRate(Float normalPeiRate) {
        this.normalPeiRate = normalPeiRate;
    }

    public Integer[] getRewardRang() {
        return rewardRang;
    }

    public void setRewardRang(Integer[] rewardRang) {
        this.rewardRang = rewardRang;
    }

    public Float getDrawWaters() {
        return drawWaters;
    }

    public void setDrawWaters(Float drawWaters) {
        this.drawWaters = drawWaters;
    }

    public Map<Integer, int[]> getRefundCtrl() {
        return refundCtrl;
    }

    public void setRefundCtrl(Map<Integer, int[]> refundCtrl) {
        this.refundCtrl = refundCtrl;
    }

    public Integer getRoomId() {
        return roomId;
    }
    public void setRoomId(Integer roomId) {
        this.roomId = roomId;
    }
}
